﻿//CongMS
//魂戒系统

//
importPackage(java.lang);
importPackage(Packages.tools);
importPackage(Packages.client);
importPackage(Packages.server);
importPackage(Packages.tools.packet);
importPackage(java.lang);
importPackage(Packages.client);
importPackage(Packages.client.inventory);
importPackage(Packages.server);
importPackage(Packages.constants);
importPackage(Packages.net.channel);
importPackage(Packages.tools);
importPackage(Packages.scripting);
importPackage(Packages.tools.packet);
importPackage(Packages.tools.data);
importPackage(Packages.tools);
var text = "";
var status = 0;

var 魂戒材料 = [
    [1, 4001238, 100],
    [2, 4001238, 100],
    [3, 4001238, 100],
    [4, 4001238, 100]
];
var 魂戒 = [
    //0金币 1四维 2攻击 3魔力 4HP 5MP 6魂戒ID
    [100000, 10, 10, 10, 100, 100, 1112446],
    [200000, 15, 15, 15, 110, 110, 1112447],
    [300000, 20, 20, 20, 120, 120, 1112448],
    [1000000, 25, 25, 25, 130, 130, 1112449]
];


var 目前魂戒等级;
function start() {
    status = -1;
    action(1, 0, 0);
}


function action(mode, type, selection) {
    if (mode == -1) {
        cm.dispose();
    } else {
        if (mode == 1) {
            status++;
        } else {
            status--;
        }
        //
        if (status == -1) {
            cm.dispose();
        } else if (status == 0) {

            if (cm.getInventory(1).getItem(1) == null) {
                cm.sendOk("冒险家你好,请把魂戒放到装备栏第一格在来找我!\r\n");
                cm.dispose();
                return;
            }
            for (var i = 0; i < 魂戒.length; i++) {
                目前魂戒等级 = 0;
                if (cm.getInventory(1).getItem(1).getItemId() == 魂戒[i][6]) {
                    目前魂戒等级 = parseInt(i) + 1;
                    break;
                }
            }
            if (cm.getInventory(1).getItem(1).getItemId() == 1112586) {
                cm.sendOk("你的魂戒已经拥有瓶颈期了,我帮不你了!请努力探寻争取早日突破它\r\n");
                cm.dispose();
                return;
            }
            if (目前魂戒等级 == 0) {
                cm.sendOk("亲爱的,请把魂戒放到装备栏第一格在来找我!\r\n");
                cm.dispose();
                return;
            }
            if (cm.getInventory(1).getItem(1).getItemId() != 1112562) {
                if (cm.getInventory(1).getItem(1).getItemId() == 1112542 && cm.getInventory(1).getItem(1).getOwner() != "CongMS岛") {
                    cm.sendOk("该魂戒有点问题，请联系GM！\r\n");
                    cm.dispose();
                    return;
                }
            }
            //0金币 1四维 2攻击 3魔力 4HP 5MP 6魂戒ID
            text = " ┏━━━━━━━━━[魂戒·系统]━━━━━━━━━┓\r\n";
            text += "\t#r·#k目前阶段:#r " + 目前魂戒等级 + " #k阶\r\n";
            text += "\t#r·#k下阶段属性:四维[#r" + 魂戒[parseInt(目前魂戒等级)][1] + "#k]/攻击[#r" + 魂戒[parseInt(目前魂戒等级)][2] + "#k]/魔力[#r" + 魂戒[parseInt(目前魂戒等级)][3] + "#k]/\r\n";
            text += "\t         #L0##v" + 魂戒[parseInt(目前魂戒等级)][6] + "#升级到下一阶#v" + 魂戒[parseInt(目前魂戒等级)][6] + "##l\r\n\r\n";
            text += " ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\r\n";
            text += " ┏━━━━━━━━━[所需·材料]━━━━━━━━━┓\r\n";
            text += "\t#r·#k金币: " + 魂戒[parseInt(目前魂戒等级)][0] + "\r\n";
            for (var i = 0; i < 魂戒材料.length; i++) {
                if (魂戒材料[i][0] == 目前魂戒等级) {
                    text += "\t#r·#k#v" + 魂戒材料[i][1] + "##z" + 魂戒材料[i][1] + "#x" + 魂戒材料[i][2] + " [拥有" + (cm.getPlayer().getItemQuantity(魂戒材料[i][1], false) < 魂戒材料[i][2] ? "#r" + cm.getPlayer().getItemQuantity(魂戒材料[i][1], false) + "#k" : "#g" + cm.getPlayer().getItemQuantity(魂戒材料[i][1], false) + "") + "#k]\r\n";
                }
            }

            text += " ┗━━━━━━━━━━━━━━━━━━━━━━━━┛\r\n";
            if (cm.getPlayer().isGM()) {
                for (var i = 0; i < 魂戒材料.length; i++) {
                    text += "" + 魂戒材料[i][0] + "#v" + 魂戒材料[i][1] + "#" + 魂戒材料[i][2] + "\r\n";
                }
            }
            cm.sendSimple(text);
        } else if (status == 1) {
            if (selection == 0) {
                for (var i = 0; i < 魂戒材料.length; i++) {
                    if (魂戒材料[i][0] == 目前魂戒等级) {
                        if (cm.getPlayer().getItemQuantity(魂戒材料[i][1], false) < 魂戒材料[i][2]) {
                            cm.sendOk("抱歉哦,你的材料不够喔!\r\n");
                            cm.dispose();
                            return;
                        }
                    }
                }
                if (cm.getMeso() < 魂戒[parseInt(目前魂戒等级)][0]) {//判断多少金币
                    cm.sendOk("抱歉哦,你的金币不足" + 魂戒[parseInt(目前魂戒等级)][0] + "!\r\n");
                    cm.dispose();
                    return;
                }
                //扣除材料
                for (var i = 0; i < 魂戒材料.length; i++) {
                    if (魂戒材料[i][0] == 目前魂戒等级) {
                        cm.gainItem(魂戒材料[i][1], - 魂戒材料[i][2]);
                    }
                }
                cm.gainMeso(-魂戒[parseInt(目前魂戒等级)][0]);
                
				//给予魂戒
                var ii = MapleItemInformationProvider.getInstance();
                var item = ii.randomizeStats(ii.getEquipById(魂戒[parseInt(目前魂戒等级)][6])).copy(); // 生成一个Equip类
                var type = ii.getInventoryType(魂戒[parseInt(目前魂戒等级)][6]);
                item.setStr(魂戒[parseInt(目前魂戒等级)][1]);//给力量
                item.setDex(魂戒[parseInt(目前魂戒等级)][1]);//给敏捷 
                item.setInt(魂戒[parseInt(目前魂戒等级)][1]);//给智力
                item.setLuk(魂戒[parseInt(目前魂戒等级)][1]);//给运气
                item.setWatk(魂戒[parseInt(目前魂戒等级)][2]);//攻击
                item.setMatk(魂戒[parseInt(目前魂戒等级)][3]);//魔法力
                item.setHp(魂戒[parseInt(目前魂戒等级)][4]);//HP
                item.setMp(魂戒[parseInt(目前魂戒等级)][5]);//MP
                Packages.server.MapleInventoryManipulator.removeFromSlot(cm.getC(), type, 1, 1, false);
                Packages.server.MapleInventoryManipulator.addFromDrop(cm.getC(), item, false);
                var 第一格装备 = cm.getInventory(1).getItem(1).getItemId();
				cm.sendOk("升级成功！\r\n#k\r\n·"+第一格装备+"");
				cm.setBossLog("活跃度");
				cm.getMessage();
                cm.喇叭(1,"【成长戒指】", "恭喜玩家 " + cm.getPlayer().getName() + " 成功升级了他的成长戒指");
                //cm.ShowWZEffect("Effect/BasicEff.img/FindPrize/Success"); //成功
                cm.dispose();
            } else if (selection == 1) {
                cm.dispose();
            } else if (selection == 2) {
                cm.dispose();
            }
            cm.dispose();
        } else if (status == 2) {

        }
        //


    }
}